home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
qbasicpg.zip
/
SLOT.BAS
< prev
next >
Wrap
BASIC Source File
|
1980-01-01
|
7KB
|
184 lines
10 M=25
20 RANDOMIZE INT(VAL(MID$(TIME$,7,2)))
30 CLS:GOSUB 1600
40 ' CONVERTED FOR IBM-PC FROM 101 BASIC COMPUTER GAMES BY DIGITAL
50 ' EQUIPMENT CORP. SUBMITTED TO DIGITAL BY ROB HOFFBERG OF ROSLYN N.Y.
60 ' AUTHOR UNKNOWN
70 ' THE ARM ACTION YOU WILL FIND IN THIS PROGRAM WAS ADDED AFTER IT WAS RECEIVED
80 ' THANKS TO THOMAS J. RIELY AND ANDREW T. POLLOCK
90 ' LINES 460-470 DRAWS THE ARM ITSELF
100 ' LINES 720-970 ADDS THE MOTION TO THE ARM
110 '
120 CLS
130 PRINT "OK ";N$;" Here are the odds:"
140 LOCATE 5,10:PRINT "SYMBOL HOW MANY PAYOUT"
150 LOCATE 6,10:PRINT "--------------------------------"
160 LOCATE 7,10:PRINT "CHERRY 3 $2.00"
170 LOCATE 8,10:PRINT"CHERRY 2 $1.00 LEFT & MID WINDOWS ONLY!"
180 LOCATE 9,10:PRINT "CHERRY 1 $0.50 LEFT WINDOW ONLY!"
190 LOCATE 11,10:PRINT "PLUM 3 $5.00"
200 LOCATE 12,10:PRINT "ORANGE 3 $7.50"
210 LOCATE 13,10:PRINT "*BAR* 3 $10.00"
220 LOCATE 15,10:PRINT " LEMONS ALWAYS LOOSE"
230 LOCATE 20,5:PRINT "When the message PULL appears, press ENTER to PULL."
240 LOCATE 21,5:PRINT "Or type END to end the session."
250 LOCATE 23,5:PRINT "When you are ready to begin press ENTER.";:INPUT Z9$
260 L$=CHR$(186)
270 S$=CHR$(205)
280 B$=CHR$(186)
290 DIM W$(4)
300 W$(1)="CHERRY":W$(2)=" ":W$(3)="*BAR* ":W$(4)=" PLUM "
310 'WHEEL ONE
320 DIM V$(7)
330 V$(1)="ORANGE":V$(2)=" PLUM ":V$(3)="LEMON ":V$(4)="*BAR* "
340 V$(7)="CHERRY":V$(5)="CHERRY":V$(6)="CHERRY"
350 ' WHEEL TWO
360 DIM V1$(7)
370 V1$(1)="*BAR* ":V1$(2)="LEMON ":V1$(3)=" PLUM "
380 V1$(4)="CHERRY":V1$(5)=" PLUM ":V1$(6)="ORANGE":V1$(7)="CHERRY"
390 ' WHEEL THREE
400 DIM V3$(5)
410 V3$(1)=" PLUM ":V3$(2)="*BAR* ":V3$(3)="CHERRY":V3$(4)="LEMON "
420 V3$(5)="ORANGE"
430 CLS
440 Y=16:FOR X=1 TO 18:LOCATE X,Y:PRINT B$:NEXT X
450 X=18:FOR Y=17 TO 50:LOCATE X,Y:PRINT B$:NEXT Y
460 Y=51:FOR X=18 TO 1 STEP -1:LOCATE X,Y:PRINT B$:NEXT X
470 X=1:FOR Y=50 TO 17 STEP-1:LOCATE X,Y:PRINT L$:NEXT Y
480 ' ARM
490 LOCATE 6,55:PRINT STRING$(3,223);
500 FOR X=7 TO 12:LOCATE X,56:PRINT CHR$(219);:NEXT
510 LOCATE 12,52:PRINT STRING$(3,220);
520 LOCATE 13,28:PRINT "P A Y O U T":LOCATE 14,33
530 X=15:FOR Y=24 TO 42:LOCATE X,Y:PRINT L$:NEXT Y
540 FOR X=15 TO 17:LOCATE X,43:PRINT S$:NEXT X
550 FOR Y=42 TO 24 STEP-1:LOCATE X,Y:PRINT L$:NEXT Y
560 FOR X=17 TO 15 STEP-1:LOCATE X,23:PRINT S$:NEXT X
570 ' ******LEFT WINDOW******
580 FOR Y=18 TO 26:LOCATE 5,Y:PRINT L$:NEXT Y
590 FOR X=5 TO 7:LOCATE X,27:PRINT S$:NEXT X
600 FOR Y=26 TO 18 STEP -1:LOCATE 7,Y:PRINT B$:NEXT Y
610 FOR X=7 TO 5 STEP-1:LOCATE X,18:PRINT S$:NEXT X
620 '******MID WINDOW******
630 FOR Y=30 TO 37:LOCATE 5,Y:PRINT L$:NEXT Y
640 FOR X=5 TO 7:LOCATE X,38:PRINT S$:NEXT X
650 FOR Y=37 TO 30 STEP-1:LOCATE 7,Y:PRINT B$:NEXT Y
660 FOR X=7 TO 5 STEP-1:LOCATE X,29:PRINT S$:NEXT X
670 ' ******RIGHT WINDOW******
680 FOR Y=41 TO 48:LOCATE 5,Y:PRINT L$:NEXT Y
690 FOR X=5 TO 7:LOCATE X,49:PRINT S$:NEXT X
700 FOR Y=48 TO 41 STEP-1:LOCATE 7,Y:PRINT B$:NEXT Y
710 FOR X=7 TO 5 STEP-1:LOCATE X,40:PRINT S$:NEXT X
720 ' DO YOU PULL OR END
730 LOCATE 21,24:PRINT "YOU NOW HAVE ";:PRINT USING "$$###.##";M
740 LOCATE 22,30:PRINT "PULL/END";:INPUT A$
750 FOR X=6 TO 11
760 LOCATE X,55:PRINT SPC(3);
770 LOCATE X+1,55:PRINT STRING$(3,223);
780 FOR DELAY=1 TO 30:NEXT DELAY
790 NEXT X
800 LOCATE 12,55:PRINT " "+CHR$(220)+" ";
810 FOR X=13 TO 15
820 LOCATE X,55:PRINT " "+CHR$(219)+" ";
830 LOCATE X+1,55:PRINT STRING$(3,223);
840 FOR DELAY=1 TO 30:NEXT DELAY
850 NEXT X
860 LOCATE 16,55:PRINT " "+CHR$(219)+" "
870 LOCATE 17,55:PRINT STRING$(3,220)
880 FOR DELAY=1 TO 100:NEXT DELAY
890 LOCATE 17,55:PRINT SPC(3);
900 LOCATE 16,55:PRINT STRING$(3,220);
910 FOR X=16 TO 13 STEP -1
920 LOCATE X,55:PRINT SPC(3);
930 LOCATE X-1,55:PRINT STRING$(3,220);
940 FOR DELAY=1 TO 10:NEXT DELAY
950 NEXT X
960 FOR X=12 TO 7 STEP -1
970 LOCATE X,55:PRINT " "+CHR$(219)+" ";
980 LOCATE X-1,55:PRINT STRING$(3,223);
990 FOR DELAY=1 TO 10:NEXT DELAY
1000 NEXT X
1010 LOCATE 16,24:PRINT E$;E$;E$;E$;" "
1020 E$=" ":LOCATE 6,19:PRINT E$;E$:LOCATE 6,30:PRINT E$;E$:LOCATE 6,41:PRINT E$;E$
1030 IF A$="END" OR A$="E" THEN 1550
1040 ' * PICK THE WHEELS
1050 FOR I=1 TO 2:Z(I)=INT((RND*7)+1):NEXT I
1060 Z(3)=INT((RND*5)+1)
1070 '***** ROLL ALL WINDOWS AND PICK LEFT *****
1080 FOR X=1 TO 10:FOR Y=1 TO 4:LOCATE 6,20:PRINT W$(Y)
1090 LOCATE 6,31:PRINT W$(Y):LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
1100 LOCATE 6,20:PRINT V$(Z(1))
1110 SOUND 1000,2
1120 ' ***** ROLL MID AND RIGHT AND PICK MID *****
1130 FOR X=1 TO 15:FOR Y=1 TO 4
1140 LOCATE 6,31:PRINT W$(Y):LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
1150 LOCATE 6,31:PRINT V1$(Z(2))
1160 SOUND 1100,2
1170 ' ***** ROLL RIGHT AND PICK RIGHT *****
1180 FOR X=1 TO 20:FOR Y=1 TO 4
1190 LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
1200 LOCATE 6,42:PRINT V3$(Z(3))
1210 SOUND 1200,2
1220 ' DO I HAVE 3 OF A KIND?
1230 IF V$(Z(1))<>V1$(Z(2)) THEN 1360
1240 IF V1$(Z(2))<>V3$(Z(3)) THEN 1360
1250 IF V$(Z(1))<>"CHERRY" THEN 1270
1260 LOCATE 16,27:PRINT "YOU WIN $2.00":M=M+2:GOTO 720
1270 IF V$(Z(1))<>" PLUM " THEN 1290
1280 LOCATE 16,27:PRINT "YOU WIN $5.00":M=M+5:GOTO 720
1290 IF V$(Z(1))<>"ORANGE" THEN 1310
1300 LOCATE 16,27:PRINT "YOU WIN $7.50":M=M+7.5:GOTO 720
1310 IF V$(Z(1))<>"*BAR* " THEN 1330
1320 LOCATE 16,27:PRINT "YOU WIN $10.00";M=M+10:GOTO 720
1330 ' LEMONS
1340 LOCATE 16,28:PRINT "LEMONS LOSE!!":M=M-.25:GOTO 720
1350 '
1360 ' DO I HAVE CHERRIES?????
1370 IF V$(Z(1))<>"CHERRY" THEN 1440
1380 IF V1$(Z(2))<>"CHERRY" THEN 1420
1390 '
1400 ' TWO CHERRIES
1410 LOCATE 16,27:PRINT "YOU WIN $1.00":M=M+1:GOTO 720
1420 ' I CHERRY
1430 LOCATE 16,27:PRINT "YOU WIN $0.50":M=M+.5:GOTO 720
1440 '
1450 ' GOT SCHMALTZ!!?
1460 ON Z(3) GOSUB 1480,1490,1500,1510,1520,1530,1540
1470 M=M-.25:GOTO 720
1480 LOCATE 16,25:PRINT "TRY BINGO INSTEAD":RETURN
1490 LOCATE 16,25:PRINT "HA HA YOU LOSE":RETURN
1500 LOCATE 16,25:PRINT " ZILCH-O":RETURN
1510 LOCATE 16,25:PRINT "BACK TO METEOR ":RETURN
1520 LOCATE 16,25:PRINT "TRY VEGAS INSTEAD":RETURN
1530 LOCATE 16,25:PRINT "YOU GOT SCHMALTZ":RETURN
1540 LOCATE 16,26:PRINT "BACK TO STAR TREK":RETURN
1550 LOCATE 16,26:PRINT "GOODBY ";N$
1560 LOCATE 25,1:PRINT "Press <space> bar to exit";
1570 A$=INKEY$:IF A$="" THEN GOTO 1570
1580 CLS:END
1590 CLS:END
1600 ' COLOR 3
1610 KEY OFF:CLS:GOTO 1630
1620 CLS
1630 FOR J=2 TO 22
1640 LOCATE 2,2:PRINT CHR$(201):LOCATE 2,79:PRINT CHR$(187)
1650 LOCATE 23,2:PRINT CHR$(200):LOCATE 23,79:PRINT CHR$(188)
1660 LOCATE J,2:PRINT CHR$(186)
1670 LOCATE J,79:PRINT CHR$(186)
1680 NEXT J
1690 FOR J=3 TO 78
1700 LOCATE 2,J:PRINT CHR$(205)
1710 LOCATE 23,J:PRINT CHR$(205)
1720 NEXT J
1730 ' COLOR 2
1740 LOCATE 4,4:PRINT "W E L C O M E T O . . ."
1750 LOCATE 9,30:PRINT "I B M ' S C A S I N O"
1760 LOCATE 17,4:PRINT "Today you will lose your money at IBM's famous slot machine."
1770 LOCATE 18,4:PRINT "You have been given a credit line of $25.00. Therefore at 25 a pull you"
1780 LOCATE 19,4:PRINT "have a minimum of 100 pulls!"
1790 BEEP
1800 LOCATE 20,4:PRINT "By the way what is your name";:INPUT N$
1810 RETURN